package com.mxy.myapplication.util;


import android.content.Context;
import android.net.ConnectivityManager;
import android.net.NetworkInfo.State;

public class IsWebCanBeUsed {

    /**
     * 判断移动网络是否可用
     *
     * @param context
     * @return
     */
    private static boolean isMobileCanBeUse(Context context) {
        // 获取连接管理器
        ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
        if (cm != null) {
            // 获取网络连接状态信息
            if (cm.getNetworkInfo(ConnectivityManager.TYPE_MOBILE) == null) {
                Util.print("ConnectivityManager.TYPE_MOBILE是null 这个是个平板电脑！！！");
                return false;
            }
            State mobile = cm.getNetworkInfo(ConnectivityManager.TYPE_MOBILE).getState();
            // 返回移动网络是否可用
            return mobile == State.CONNECTED;
        }
        return false;
    }

    /**
     * 判断WIFI是否可用
     *
     * @param context
     * @return
     */
    private static boolean isWifiCanBeUse(Context context) {
        // 获取连接管理器
        ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
        if (cm != null) {
            // 获取状态
            State wifi = cm.getNetworkInfo(ConnectivityManager.TYPE_WIFI).getState();
            // 判断wifi当前状态信息
            return wifi == State.CONNECTED;
        }
        return false;
    }

    /**
     * 判断网络是否可用
     */
    public static boolean isWebCanBeUse(Context context) {
        return isMobileCanBeUse(context) || isWifiCanBeUse(context);
    }
}